package com.ruoyi.project.orderSystem.mapper;

import java.util.List;

import com.ruoyi.project.configureSystem.domain.VStation;
import com.ruoyi.project.orderSystem.domain.OrderStation;
import com.ruoyi.project.orderSystem.domain.WorkOrder;
import com.ruoyi.project.orderSystem.domain.vo.WorkOrderVO;
import org.apache.ibatis.annotations.Param;

/**
 * 工单Mapper接口
 *
 * @author wangshuo
 * @date 2021-01-24
 */
public interface WorkOrderMapper {
    /**
     * 查询工单
     *
     * @param id 工单ID
     * @return 工单
     */
    public WorkOrder selectWorkOrderById(Long id);

    /**
     * 查询工单列表
     *
     * @param workOrder 工单
     * @return 工单集合
     */
    public List<WorkOrder> selectWorkOrderList(WorkOrder workOrder);

    /**
     * 新增工单
     *
     * @param workOrder 工单
     * @return 结果
     */
    public int insertWorkOrder(WorkOrder workOrder);

    /**
     * 修改工单
     *
     * @param workOrder 工单
     * @return 结果
     */
    public int updateWorkOrder(WorkOrder workOrder);

    /**
     * 删除工单
     *
     * @param id 工单ID
     * @return 结果
     */
    public int deleteWorkOrderById(Long id);

    /**
     * 批量删除工单
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteWorkOrderByIds(Long[] ids);

    WorkOrder selectLastOnWorkOrderByTaskId(Long planId);

    List<WorkOrderVO> listWorkOrderBySelective(WorkOrder workOrder);

    int updateWorkOrderByID(WorkOrder workOrder);

    List<VStation> getWorkOrderStationList(Long id);
}
